package com.atguigu.gulimall.product;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

/**
 * @author houChen
 * @date 2021/8/22 12:50
 * @Description:
 *
 *
 *
 *  3、JSR303
 *      1）给bean添加校验注解：javax.validation.constraints
 *      2) 开启校验 @Valid
 *          效果：校验错误后会有默认的响应
 *      3) 给校验后的bean后面紧跟一个BindingResult就可以获取到校验的结果
 *
 *      4） 统一异常处理
 *      5)  分组校验，给校验注解标注什么时候需要校验
 *              a、声明分组，实际上是一个接口
 *              b、实体属性校验上添加分组
 *              c、controller中添加 @Validated({AddGroup.class})
 *              d、默认没有指定分组的校验注解，在分组校验的情况下不生效
 *
 *  5、页面不重启，实时更新服务器
 *     1）引入dev-tools
 *
 *
 */
@EnableRedisHttpSession
@EnableCaching
@EnableDiscoveryClient
@SpringBootApplication
@MapperScan("com.atguigu.gulimall.product.dao")
@EnableFeignClients(basePackages = "com.atguigu.gulimall.product.feign")
public class GulimallProductionApplication {
    public static void main(String[] args) {
        SpringApplication.run(GulimallProductionApplication.class,args);
    }
}